package com.tecode.service;

import com.tecode.bean.Code;
import com.tecode.bean.Music;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface MusicService {
    List<Object> selectMusicByCodeNumAndStyle();

    /**
     * 保存上传的歌曲
     */
    int savaMusic( Music music);
    /**
     * 通过歌曲名模糊查询歌曲
     */
    List<Map> getSongListByMusicName(String musicName);
    int del(List musicIds);
    /**
     * 小程序访问增加方法
     */
    int visit(Date creatTime);

    /**
     * 歌曲的播放量增加
     */
    void addPlaybackVolume(Integer musicId);

    /**
     * 查找播放量前30的歌曲展示在用户的默认歌单
     */
    List<Map> selectDefaultSheet();
    /**
     * 通过musicId查询歌曲以及所属人
     */
    List<Map> selectMusicByMusicId(Integer musicId);

    /**
     * 通过code表codeId为查询歌曲类型集合
     */
    List<Code> getMusicCodeByCodeId(Integer codeId);

    /**
     * 通过歌曲的种类ID查询不同种类的音乐集合
     */
    List<Map> selectMusicByCodeId(Integer codeId);

    /**
     * 通过userId查询用户的收藏歌单
     */
    List<Map> selectCollectionMusicByUserId(Integer userId);

    List<Map> getMusicsByUserId(Integer userId);
}
